/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* E.P. Scene Graph
* Developed by:
*       - Eduardo Ribeiro (eribeiro @ tecgraf . puc-rio . br)
*       - Peter Dam (peter @ tecgraf . puc-rio . br)
* File: Billboard.h
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

#ifndef _EPSG_BILLBOARD_
#define _EPSG_BILLBOARD_

#include "EPSG/Leaf.h"
#include "EPSG/Prototypes.h"

namespace EPSG
{
	class Billboard : public Leaf
	{
	public:
		/* [CONSTRUCTOR] */	Billboard();
		/* [CONSTRUCTOR] */	Billboard( EPSG::Appearance* appearance, float width, float height );

		virtual void		render();

		void				setDimensions( float width, float height );
		void				setAppearance( EPSG::Appearance* a );
		EPSG::Appearance*	getAppearance();

		void				setPolygonOffset( float factor, float units );

	protected:
		EPSG::Appearance*	_appearance;
		EPSG::Cube*			_shape;
		bool				_polygonOffset;
		float				_factor;
		float				_units;
	};
}

#endif //_EPSG_BILLBOARD_